﻿
layui.use(['table', 'dropdown', 'layer', 'form', 'laypage', 'laydate'], function () {
    var table = layui.table;
    var dropdown = layui.dropdown;
    var layer = layui.layer;
    var form = layui.form;
    var laypage = layui.laypage;
    var laydate = layui.laydate;

    var obj = {
        createdBy: "",
        createdDate: "",
        updatedBy: "",
        updatedDate: "",
        deletedBy: "",
        deletedDate: "",
        isDeleted: '',
        inventoryId: '',
        inventoryNo: "",
        inventoryName: "",
        inventoryDate: "",
        inventoryNum: '',
        inventoryState: '',
        inventoryRemark: "",
        finishedProductNo: "",
        finishedProductName: "",
        warehouseId: '',
        reservoirId: '',
        binLocationId: '',
        orderNo: "",
        produceDate: "",
        adjustTheLibraryDate: "",
        specificationNo: "",
        inventoryBatch: "",
        inventoryUnit: "",
        warehouseHead: "",
        inventoryType: ''
    }

    // 渲染日期选择器
    laydate.render({
        elem: '#inventoryDate'
    });
    laydate.render({
        elem: '#produceDate'
    });
    //钩子函数
    $(function () {
        getInventory();
    });
    //返填
    function getInventory() {
        //debugger;
        var inventoryId = localStorage.getItem("inventoryId");
        console.log(inventoryId)
        //显示仓库
        window.one = function one() {
            $.ajax({
                url: "/Warehouse/GetWarehouseList",
                type: "get",
                async: false,
                data: { token: localStorage.getItem("token") },
                //dataType: 'json', // 如果服务器返回的是 JSON 字符串，请移除这一行；如果返回的是 JSON 对象，请保留
                success: function (response) {
                    // 如果服务器已经返回了 JSON 对象，则不需要再次解析
                    var data = JSON.parse(response); // 请移除这一行，如果 response 已经是 JSON 对象
                    console.log(data.data);

                    var options = '<option value="">请选择仓库</option>'; // 添加默认选项
                    $.each(data.data, function (index, item) {
                        // 使用正确的参数：index（索引）和 item（当前元素）
                        options += '<option value="' + item.warehouseId + '">' + item.warehouseName + '</option>';

                    });

                    $("#warehouseId").html(options); // 设置下拉框的选项
                    form.render('select'); // 重新渲染下拉框（确保 layui.form 已经被正确加载）
                    two();

                },
                error: function (jqXHR, textStatus, errorThrown) {
                    console.log("获取数据失败: " + textStatus, errorThrown);
                    // 可以考虑显示一个错误消息给用户，例如使用 layui 的 layer 模块
                    // layer.msg('获取仓库列表失败，请稍后再试'); // 确保 layer 已经被加载和初始化
                }
            });
        }
        window.two = function two() {
            var ss = $("#warehouseId").val();
            $.ajax({
                url: "/Warehouse/GetReserList",
                type: "get",
                async: false,
                data: { WarehouseId: ss, token: localStorage.getItem("token") },
                //dataType: 'json', // 如果服务器返回的是 JSON 字符串，请移除这一行；如果返回的是 JSON 对象，请保留
                success: function (response) {
                    // 如果服务器已经返回了 JSON 对象，则不需要再次解析
                    var data = JSON.parse(response); // 请移除这一行，如果 response 已经是 JSON 对象
                    console.log(data.data);

                    var options = '<option value="">请选择库区</option>'; // 添加默认选项
                    $.each(data.data, function (index, item) {
                        // 使用正确的参数：index（索引）和 item（当前元素）
                        options += '<option value="' + item.reservoirId + '">' + item.reservoirName + '</option>';

                    });

                    $("#reservoirId").html(options); // 设置下拉框的选项
                    form.render('select'); // 重新渲染下拉框（确保 layui.form 已经被正确加载）
                    three();

                },
                error: function (jqXHR, textStatus, errorThrown) {
                    console.log("获取数据失败: " + textStatus, errorThrown);
                    // 可以考虑显示一个错误消息给用户，例如使用 layui 的 layer 模块
                    // layer.msg('获取仓库列表失败，请稍后再试'); // 确保 layer 已经被加载和初始化                           
                }
            });
        }
        window.three = function three() {
            var ss = $("#reservoirId").val();
            $.ajax({
                url: "/Warehouse/BinlocationShowByRId",
                type: "get",
                async: false,
                data: { ReservoirId: ss, token: localStorage.getItem("token") },
                //dataType: 'json', // 如果服务器返回的是 JSON 字符串，请移除这一行；如果返回的是 JSON 对象，请保留
                success: function (response) {
                    // 如果服务器已经返回了 JSON 对象，则不需要再次解析
                    var data = JSON.parse(response); // 请移除这一行，如果 response 已经是 JSON 对象
                    console.log(data.data);

                    var options = '<option value="">请选择库位</option>'; // 添加默认选项
                    $.each(data.data, function (index, item) {
                        // 使用正确的参数：index（索引）和 item（当前元素）
                        options += '<option value="' + item.binLocationId + '">' + item.binLocationName + '</option>';

                    });

                    $("#binLocationId").html(options); // 设置下拉框的选项
                    form.render('select'); // 重新渲染下拉框（确保 layui.form 已经被正确加载）

                },
                error: function (jqXHR, textStatus, errorThrown) {
                    console.log("获取数据失败: " + textStatus, errorThrown);
                    // 可以考虑显示一个错误消息给用户，例如使用 layui 的 layer 模块
                    // layer.msg('获取仓库列表失败，请稍后再试'); // 确保 layer 已经被加载和初始化
                }
            });
        }
        // 显示库区
        //    window.two = function two() {
        //        form.on('select(kuqu)', function (data) {
        //            console.log(data);
        //            var ss = data.value;
        //            console.log(ss);
        //            if (ss == "") {
        //                return;
        //            }
        //            $.ajax({
        //                url: "/Warehouse/GetReserList",
        //                type: "get",
        //                async: false,
        //                data: { WarehouseId: ss, token: localStorage.getItem("token") },
        //                success: function (response) {
        //                    var data = JSON.parse(response);
        //                    var options = '<option value="">请选择库区</option>';
        //                    $.each(data.data, function (index, item) {
        //                        options += '<option value="' + item.reservoirId + '">' + item.reservoirName + '</option>';
        //                    });
        //                    $("#reservoirId").html(options);
        //                    form.render('select');
        //                    // 调用three函数，初始化库位下拉框
        //                    //three();
        //                },
        //                error: function (jqXHR, textStatus, errorThrown) {
        //                    console.log("获取数据失败: " + textStatus, errorThrown);
        //                }
        //            });
        //        });
        //    }
        //    // 显示库位
        //    window.three = function three() {
        //        form.on('select(kuwei)', function (data) {
        //            var ss = data.value;
        //            if (ss == "") {
        //                return;
        //            }
        //            $.ajax({
        //                url: "/Warehouse/BinlocationShowByRId",
        //                type: "get",
        //                async: false,
        //                data: { ReservoirId: ss, token: localStorage.getItem("token") },
        //                success: function (response) {
        //                    var data = JSON.parse(response);
        //                    var options = '<option value="">请选择库位</option>';
        //                    $.each(data.data, function (index, item) {
        //                        options += '<option value="' + item.binLocationId + '">' + item.binLocationName + '</option>';
        //                    });
        //                    $("#binLocationId").html(options);
        //                    form.render('select');
        //                },
        //                error: function (jqXHR, textStatus, errorThrown) {
        //                    console.log("获取数据失败: " + textStatus, errorThrown);
        //                }
        //            });
        //        });
        //    }

        layui.use(function () {
            //debugger;
            $.ajax({
                url: '/Warehouse/GetInventoryBackfill',
                type: 'get',
                async: false,
                data: {
                    InventoryId: inventoryId,
                    token: localStorage.getItem("token")
                },
                success: function (res) {
                    var res = JSON.parse(res)
                    console.log(res)
                    $.each(res, function () {
                        $("#inventoryNo").val(this.inventoryNo)
                        $("#inventoryName").val(this.inventoryName)
                        $("#inventoryDate").val(this.inventoryDate)
                        $("#inventoryNum").val(this.inventoryNum)
                        $("#inventoryRemark").val(this.inventoryRemark)
                        $("#finishedProductNo").val(this.finishedProductNo)
                        $("#finishedProductName").val(this.finishedProductName)
                        one()
                        $("#warehouseId").val(this.warehouseId)
                        two()
                        $("#reservoirId").val(this.reservoirId)
                        three()
                        $("#binLocationId").val(this.binLocationId)
                        $("#orderNo").val(this.orderNo)
                        $("#produceDate").val(this.produceDate)
                        $("#adjustTheLibraryDate").val(this.adjustTheLibraryDate)
                        $("#specificationNo").val(this.specificationNo)
                        $("#inventoryBatch").val(this.inventoryBatch)
                        $("#inventoryUnit").val(this.inventoryUnit)
                        $("#warehouseHead").val(this.warehouseHead)
                        $("#inventoryType").val(this.inventoryType)
                        $("#inventoryState").text(this.inventoryState)
                        $("#createdBy").val(this.createdBy)
                        obj.inventoryId = this.inventoryId,
                            obj.inventoryNo = this.inventoryNo,
                            obj.inventoryName = this.inventoryName,
                            obj.inventoryDate = this.inventoryDate,
                            obj.inventoryNum = this.inventoryNum,
                            obj.inventoryState = this.inventoryState,
                            obj.inventoryRemark = this.inventoryRemark,
                            obj.finishedProductNo = this.finishedProductNo,
                            obj.finishedProductName = this.finishedProductName,
                            obj.warehouseId = this.warehouseId,
                            obj.reservoirId = this.reservoirId,
                            obj.binLocationId = this.binLocationId,
                            obj.orderNo = this.orderNo,
                            obj.produceDate = this.produceDate,
                            obj.adjustTheLibraryDate = this.adjustTheLibraryDate,
                            obj.specificationNo = this.specificationNo,
                            obj.inventoryBatch = this.inventoryBatch,
                            obj.inventoryUnit = this.inventoryUnit,
                            obj.warehouseHead = this.warehouseHead,
                            obj.inventoryType = this.inventoryType,
                            obj.createdBy = this.createdBy,
                            obj.createdDate = this.createdDate,
                            obj.updatedBy = this.updatedBy,
                            obj.updatedDate = this.updatedDate,
                            obj.deletedBy = this.deletedBy,
                            obj.deletedDate = this.deletedDate,
                            obj.isDeleted = this.isDeleted,
                            form.render(); // 重新渲染
                    })
                },
            })
        })
    }

    layui.use(['layer', 'form', 'util'], function () {
        var layer = layui.layer;
        var $ = layui.jquery;
        var form = layui.form;
        var util = layui.util;
        //debugger;
        form.on('submit(formDemo)', function (data) {
            var dto = data.field; // 获取表单字段值
            data.field.inventoryId = obj.inventoryId;
            data.field.createdBy = obj.createdBy;
            data.field.inventoryState= obj.inventoryState;
            data.field.updatedBy = obj.updatedBy;
            console.log(data);
            $.ajax({
                url: '/Warehouse/UpdInventory',
                type: 'post',
                data: {
                    dto: dto,
                    token: localStorage.getItem("token")
                },
                success: function (res) {
                    var res = JSON.parse(res)
                    console.log(dto);
                    console.log(res);
                    if (res.code == 0) {
                        layer.alert("修改成功");
                        setTimeout(function () {
                            location.href = '/Warehouse/InventoryShow'
                        }, 2000);
                    } else {
                        layer.alert("修改失败");
                    }
                }
            });

            return false; // 阻止默认 form 跳转
        });
        // 对弹层中的表单进行初始化渲染
        form.render();
    });
});